home *** CD-ROM | disk | FTP | other *** search
- Path: bloom-beacon.mit.edu!nic.hookup.net!usc!howland.reston.ans.net!europa.eng.gtefsd.com!news.umbc.edu!haven.umd.edu!umd5.umd.edu!syrinx.umd.edu!phillips
- From: phillips@syrinx.umd.edu (Leanne Phillips)
- Newsgroups: news.newusers.questions,news.software.readers,news.answers
- Subject: rn KILL file FAQ
- Supersedes: <killfile.faq_758966281@syrinx.umd.edu>
- Followup-To: news.newusers.questions
- Date: 18 Feb 1994 00:14:53 GMT
- Organization: University of Maryland, College Park
- Lines: 215
- Approved: news-answers-request@mit.edu
- Distribution: world
- Expires: 20 Mar 94 12:14:35 GMT
- Message-ID: <killfile.faq_761530475@syrinx.umd.edu>
- Reply-To: phillips@syrinx.umd.edu
- NNTP-Posting-Host: syrinx.umd.edu
- Originator: phillips@syrinx.umd.edu
- Xref: bloom-beacon.mit.edu news.newusers.questions:13737 news.software.readers:6106 news.answers:15276
-
- Archive-name: killfile-faq
- Last modified: 16 Sep 1993
-
- Summary of changes: Corrected one misleading statement about the f: modifier.
- Added a paragraph about the H: modifier of trn 3.1.
-
- Send comments, suggestions, corrections to phillips@syrinx.umd.edu.
-
- Rn and trn, and other varieties of rn, have a very useful feature called
- the KILL file, which allows you to kill (skip over) articles that you don't
- want to see. There is some support for killfiles in xrn, but the support is
- limited; nothing in here is guaranteed to work for xrn. See the xrn
- man page.
-
- KILL files come in two forms:
- Global: In your News directory, you will have the file KILL.
- Local: In your News directory, the killfile for group foo.bar
- will be foo/bar/KILL.
- The difference between the two is that there can be one killfile for
- each group (the local killfile), and that killfile affects only the
- particular newsgroup (foo/bar/KILL affects only foo.bar; baz/quex/KILL
- affects only baz.quex, etc). The global killfile affects all newsgroups.
- (There's a way to change the default names of the killfiles, but it's
- more complicated than I want to get into here. See the rn(1) man page.)
-
- Killfiles allow you to kill articles based on a number of criteria:
- a subject line, a general subject, articles from one poster, articles
- from one site, articles cross-posted from any other group, or from one
- other group in particular, and articles that are follow-ups to anything at
- all (that is, anything with the Re: in the subject line). You can also
- kill articles with a particular string anywhere in the article.
-
- This article assumes you know how to use an editor and that you have
- created the directories for any local killfiles you may need. Remember
- that the name of the file is KILL, not kill or Kill; caps are important.
-
- The general style for building a kill line is:
-
- /pattern/modifiers:command
-
- Now, that is obviously not useful to know without understanding it. The
- modifiers and commands are all explained in the rn man page, but here are
- some useful ones:
- Modifiers:
- a: all, look through the entire article for the pattern
- h: look through the header of the article for the pattern
- f: look at only the 'From:' header (trn 3.0)
- H: added in trn 3.1, this expands the f: above to any header
- Commands:
- m mark as unread
- j mark as read
- = show subject line
- If no modifier appears before the colon, only the subject line of the
- article is searched. More than one command can be performed by using
- the style:
-
- /pattern/modifier:command:command
- Thus, for instance, you can use j and = together to see the exact subject
- lines being killed.
- It doesn't matter if you use uppercase or lowercase in the pattern; the
- program will assume they're the same thing. That is, "Test" and "test"
- used in the pattern mean exactly the same thing; only one is necessary.
- If you want case to matter, see the rn(1) man page, the 'c' modifier.
-
- The easiest way to kill a subject line is to kill it from within the
- newsgroup. When the subject line comes up that you want to kill, instead
- of using 'n' to skip that article or 'k' to kill the subject for that
- session, type 'K'. The subject line will then be entered into your KILL
- file for that group. If you want to put that line into your global KILL
- file, you'll have to do that yourself. (If you don't need it in your global
- file, it's best not to put it there - global kill files slow down your news
- reading a lot. So does using the 'a' modifier; use it sparingly.)
- (I should mention here the easiest way to start editing your kill files.
- Typing control-k when you're being asked to pick a newsgroup to read will
- start you editing the global killfile; typing the same thing when you're
- reading a newsgroup will start up the editing with the kill file for that
- group. If it doesn't exist, it will create it - including the directories
- necessary. This method is particularly recommended for people creating their
- first kill file.)
-
- To kill a general subject, ie any 'test' messages, put in the pattern:
- /test/:j
- This will kill anything with the word 'test' in the subject line.
-
- To kill anything that is a followup to any article, use this pattern:
- /.*Re:/:j
- This kills anything beginning with Re:.
-
- To kill cross-posts from one particular group, say foo.bar, try this:
-
- /Newsgroups:.*[ ,]foo\.bar/h:j
-
- This searches the header (the 'h' modifier) for any line containing the
- string 'Newsgroups:' (which all articles do), as well as the string
- 'foo.bar'. The other elements of this line are part of the regular
- expression meta-language; see the ed(1) man page for more details.
- (Note that all of them are necessary, particularly the '\' before the
- '.' in foo\.bar.)
-
- To kill all cross-posts, from any group at all:
-
- /Newsgroups:.*,/h:j
-
- If the Newsgroups: line has a ',' in it, it's a cross-post, and therefore
- this will find it.
- Note that the above line searches the entire header, included the
- Subject: line, for that pattern. So a Subject line like:
- Subject: I hate the Newsgroups: line, don't you?
- would get killed by that pattern, because it has a 'Newsgroups:' part, and
- a ','. To make it work properly, use the 'start of line' character, ^.
- The ^ isn't actually there when you look at the header yourself; it just
- means to look for the beginning of the line. So, to kill cross-posts:
-
- /^Newsgroups:.*,/h:j
-
- should be used instead. (Use of the ^ is recommended if you know the
- pattern you want to catch will be at the beginning of the line; it makes
- searching a lot faster.)
-
- To kill articles from a single poster, you need to know the userid and
- nodename of the poster; for this example we'll use noone@anywhere.all.
-
- /From: *noone@anywhere\.all/h:j
-
- If you're using trn 3.0 (or the appropriate version of rn, which I'm
- not sure of; anyone?), it's even easier to kill articles from a particular
- someone:
-
- /noone@anywhere\.all/f:j
-
- The 'f' modifier searches only the From: header, so you don't need to
- say the 'From:' yourself; you also don't need to use the 'h' modifier.
- (This is recommended if you have it; it should be faster to get only the
- From: line and search it, rather than looking over the entire header.
- Can anyone verify this, please?)
-
- For articles from a particular site, just remove the 'noone' from the
- previous lines, and articles from the machine 'anywhere.all' will be killed.
- (Note again that the \ is important.)
-
- You can, in trn 3.1, kill anything from a specific header line, rather than
- using the h: modifier to search the entire header. It looks like the subject
- line one, with a simple change:
-
- /string to junk/Hheader:j
-
- That is, the modifier becomes 'HReferences' or 'HPath' or whatever header
- it is you want to search. (Could someone verify that I have precisely
- the right syntax?)
-
- Now, after all that, you might suddenly find out that you killed articles
- from someone whose posts you want to read even if they write about subjects
- you don't want to read. For that, you need to 'unkill' the articles by
- them:
- /From: *name of person you want to read/h:m
- /name of person you want to read/f:m
- So, if you suddenly decided you wanted to read noone@anywhere.all's
- postings, after having deleted them above, you would add this line:
-
- /From: *noone@anywhere\.all/h:m
-
- or this, again depending on your version:
- /noone@anywhere\.all/f:m
-
- The 'm' becomes useful suddenly. You can substitute m for j any time
- you need to, up above. In fact, you can kill everything in a newsgroup and
- only read what you want to read by using the 'm' feature, and putting this
- line at the top of your KILL file:
-
- /^/:j
-
- This method has a problem, though. Specifically, it marks even those
- you've already read (really read, not just marked as read) as unread. So,
- there's another way to do it:
- /pattern/:=:M
- (check the rn(1) man page for the M command). This lists all the subjects
- of the new articles, and then gives those articles to the M command. (You
- then have to type 'Y' after the M command has finished.) (For more complete
- information, please write me, and I'll forward on to you an example that was
- posted by David Tamkin.)
-
- Finally, you can kill (or mark, of course) a particular pattern appearing
- anywhere in the article, as opposed to just the Subject: line or the header:
-
- /pattern/a:j
- and
- /pattern/a:m
-
- This is useful for, for instance, killing all articles by a certain user,
- followups to said user's articles, and even mention of the user by userid
- and node, or, conversely, by marking all of those conversations as unread
- so you can read them if they've been killed accidentally by your other
- entries.
-
- Further information is available in the rn man page, particularly on
- other available commands and modifiers. Regular expression syntax is
- in the ed(1) man page; the xrn man page gives information about the quirks
- of xrn in relation to killfiles.
-
- I'd like to thank Jonathan Kamens and Rich Salz in particular for their
- help, and everyone else who's sent in comments, criticisms, and suggestions;
- keep them coming, folks!
-
- Minor administrative note to the suggestors: Several people have suggested
- that, in junking all of the articles and then marking only the desirable
- ones to read, you need to use the 'r' modifier (search read articles as
- well as unread). According to the man page I read, you don't need that;
- if 'm' is the first command, the 'r' is assumed. If anyone wants to test
- this and tell me it's wrong, please do. But please only tell me if it's
- wrong; I'll assume it's right until someone tells me otherwise. :-)
-
- Leanne Phillips
- "Go not unto the Elves for counsel, for they will say both yea and nay."
- "Now is _not_ a good time, Keiko!" - Worf, "Disaster"
- "Variety is the spice of life, and I don't want to die." - Scott Borst
-